1. Field of the Invention
The present invention relates to a system and method for presenting, over a network, materials contained in a single computer file.
2. Description of the Related Art
The Internet, as it is popularly known, has become an important and useful tool for accessing a wide variety of information. One component of the Internet is the World Wide Web (hereinafter, the web). In recent years the web has become an increasingly popular vehicle for providing information to virtually anyone with access to the Internet. Many sites (hereinafter, web sites) have been established to provide information in many different forms, such as text, graphics, video and audio formats over the web.
A typical web site includes system and application software programs installed on a web server that is connected to the Internet. By connecting the web server to the Internet, clients that are connected to the Internet can access the web site via the web server. Usually a client is located remotely from the web server, although the client and server can be at the same location. Also, a web server can be connected to a private intranet, as opposed to or in addition to the public Internet, in order to make a web site privately available to clients within an organization.
A client typically accesses the web site by using a web browser. The web browser is a software program which runs on the client and receives from the server information formatted in a known manner. A very popular format for information sent over the web from a server to a client, is the hypertext mark-up language (HTML). HTML is a tag based script format, in which tags surround the information to be presented. By tagging the information to be sent to a browser, the browser can interpret the tags and handle the presentation of the information sent from the server. It is left to the web browser, at the client, to determine the specific formatting of the information, based on the tags included in the HTML information sent from the server. For example, information to be displayed at a client might include header information followed by a list of other information. FIG. 1A shows a portion of HTML code with such a header and list. When the HTML information is received by a client and interpreted by a web browser, the information is displayed, as is shown in FIG. 1B, for example, in which a header 10 and list 12 are presented to a user at the client.
The HTML information sent by the server does not specify the particular size, font and placement of the header 10 and the list 12. Rather, the header and list information are surrounded by HTML tags which identify that information as a header and a list, respectively. It is the responsibility of the web browser at the client to determine how the information is presented.
Over the past several years, HTML-compliant web browsers have proliferated at a great rate. Accordingly, a large install base of HTML-compliant web browsers has been established worldwide.
HTML supports the use of links, which allow a web browser user to link from one source of information to another, easily and rapidly. A link provides a user with the means to navigate the web, and even navigate within a specific web site. The server, when sending HTML information to a web browser, would include a Uniform Resource Locator (URL) in information associated with the link. Typically, a link would be displayed to a user in a special format, such as being highlighted. The user could select that link, for example, by moving a pointing device such as a computer mouse to position a cursor over the link and selecting that link by pressing a button on the mouse. When a user selects a link, the web browser sends a request for the corresponding URL. The URL identifies a specific web resource, such as a specific web page at the web site. The server receives the request for the URL, determines the information to be sent to the client, accesses that information and then sends that new information to the client for presentation. The client receives the new presentation information sent by the server, which is typically HTML formatted information, and presents it to the user via the web browser. In this manner, the World Wide Web can be navigated by selecting links presented by the web browser, in which the links identify HTML web pages in a web site.
A web site generally includes more than one web page. Typically, each web page is defined in a single computer file, containing only the contents of that web page. In other words, the web page is defined in a flat HTML file. When the server receives a message containing a request for a URL, that URL generally identifies the file for the requested web page. The server, in response to the message, retrieves the file for the requested web page and transmits the contents of the retrieved file to the client. In this manner, the web pages are maintained separately for ease of access. However, using a separate file for each web page introduces problems with maintaining multiple files. As a web site becomes larger and more complex, the number of web pages generally would increase. Accordingly, the number of HTML flat files becomes larger. With the increase in the number of HTML flat files comes added complexity for the document creator or webmaster to manage those files.
A solution to the problem of managing a large number of HTML flat files is to include a plurality of a web site's pages in a single file. Here, each time the client requests one of the plurality of pages, the server would download to the client the entire single file containing the requested page as well as the other pages stored in the same file but not requested. Accordingly, when a client requests any of the web pages in the site, the entire file containing the requested page would be sent to the requesting client, including some non-requested pages. For a very small web site, a single file which contains all the web pages of the site could be used. Although, while storing all the pages in a single site may be feasible, as the size of the web site grows, the size of the single file would grow. Transmitting a large file containing all the web pages, or even a plurality of web pages, would likely cause the performance of the web site to be degraded, manifesting itself in long response times at the client, and increased network traffic.
Accordingly, in the conventional environment described above, an HTML document creator, or webmaster, is faced with either the system administration headache of managing and maintaining multiple, flat HTML files, or subjecting users to downloading one, potentially very large document for each request.
Also, a limitation of earlier versions of HTML-compliant web browsers is that only a single web page could be presented to a user at any particular time. Although the web provides tremendous capabilities for presenting a wide variety and great depth of information, this limitation of existing web browsers to display only a single page of information at a time limits the usefulness, and the power of the web.
A solution to this problem has been to include in web browsers a feature known as frames, as used in some of the NAVIGATOR products manufactured by Netscape Communications Corp. A frame-capable web browser, such as NAVIGATOR 3.0, allows a client to display, via the web browser, more than one frame at a time. This feature allows a user to display one set of information in one frame, while displaying another set of information in another frame, so that both frames are displayed by the web browser at the same time. FIG. 2 shows an example of a display generated by a frame-capable web browser. The display shown in FIG. 2 includes four frames of information displayed at the same time. As depicted in FIG. 2, a table of contents frame 20, shown on the left-hand side of the display, would list items related to the table of contents of a document. A header frame 22, shown in the upper portion the display, would contain information identifying the information shown in a main frame 24, depicted in the middle of the display of FIG. 2. The main frame 24 would contain detailed information related to the item selected in the table of contents frame 20. A footer frame 26 may also be included to present information at the bottom of the display, such as footnotes, or a number of links, for example.
In this frame-based environment if a user selects one of the items contained in the table of contents frame, a request for a URL is sent to the web server to direct it to send new information to be displayed in the main frame relating to that specific URL. For example, if the user selects an item in the table of contents frame, the web browser, in response, sends to the web server a request for a URL unique to that selected item. The web server receives the request for the URL which might identify a separate computer file on the server. The information in that file is transmitted to the web browser and the web browser displays the received information in the main frame.
In order to manage and identify the frames in which the information is to be displayed, the server requires that specific frames be identified in the HTML structure of the files at the server. For example, Table 1 shows an example of HTML source code necessary for creating the frames shown in FIG. 2. For example, frame tags are required in the HTML source code to identify a frame. Those frame tags include a frame source name (SRC) and attributes about the frame such as the location for display by the web browser (e.g., row and column sizes). Here for example, the table of contents frame is located in a separate file named TOC.HTM. The frame tag identifies the size of the frame and location of the frame. Similarly, the frame tags for the header, main and footer frames identify those frames as well as the relative positions of those frames for display by the web browser. Upon receiving these special frame tags, the frame-capable web browser decodes those frame tags. The web browser then displays the information relating to each frame in the corresponding frame. That information is displayed in areas at the location and relative size specified by the frame tags.
TABLE 1 HTML Source Code for A Frame Based Web Browser &lt;HTML&gt; &lt;HEAD&gt; &lt;TITLE&gt;Title of Web Page With Frames&lt;/TITLE&gt;&lt;/HEAD&gt; &lt;FRAMESET ROWS="20%, 60%, 20%"&gt; &lt;FRAME SRC="header.htm"&gt; &lt;FRAMESET COLS="20%, 80%"&gt; &lt;FRAME SRC="toc.htm"&gt; &lt;FRAME SRC="main.htm"&gt; &lt;/FRAMESET&gt; &lt;FRAME SRC="footer.htm"&gt; &lt;/FRAMESET&gt; &lt;/HTML&gt; File: HEADER.HTM &lt;HTML&gt;&lt;BODY&gt; Header Frame &lt;/BODY&gt;&lt;/HTML&gt; File: TOC.HTM &lt;HTML&gt;&lt;BODY&gt; Table of Contents Frame &lt;/BODY&gt;&lt;/HTML&gt; File: MAIN.HTM &lt;HTML&gt;&lt;BODY&gt; Main Frame &lt;/BODY&gt;&lt;/HTML&gt; File: FOOTER.HTM &lt;HTML&gt;&lt;BODY&gt; Footer Frame &lt;/BODY&gt;&lt;/HTML&gt;
Although use of frames provides another dimension of functionality for display of web-based information, web sites that use frames require web browsers to support the frame feature, in order to have information presented in the frames. While displaying information according to a frame paradigm can be useful in displaying web-based information, the size of the install base of non-frame-capable web browsers limits the use of frames. That is, in order to use frames, a frame-capable web browser must be installed on the client. However, because of the large number of installed web browsers which are not frame-capable, use of frames on web sites is often avoided, or else HTML code is included to generate both frame-based and non-frame-based web pages for transmission to frame capable and non-frame-capable web browsers. Creating two sets of data, one for frame-capable browsers and another for non-frame capable browsers, creates difficulties in managing and maintaining the redundant information.
Another problem with the use of presenting information in frames, is that a single, unified background image cannot be presented by a web-browser that presents frames of information.